package br.edu.unipampa.rpii;

/**
 * Personagem
 *
 * @author Alex Malmann Becker
 * @since 18/11/2012
 * @version 1.0
 *
 * Classe do Personagem do jogo.
 */
public class Personagem {

    private String nome;
    private String mensagem;
    private String[] tempo = {"tpSol", "tpChuva"};
    private double posicaoAtual;
    private Cantil cantil1;
    private Cantil cantil2;
    private Adaga adaga;
    private Comida comida;
    private Mapa mapa;

    /**
     * Método que retornará o Nome do Personagem.
     *
     * @return nome
     */
    public String getNome() {
        return this.nome;
    }

    /**
     * Método que setará o nome do personagem.
     *
     * @param nome passa como parâmetro o nome
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    /**
     * Método que retornará a posição atual que está o personagem.
     *
     * @return posicaoAtual
     */
    public double getPosicaoAtual() {
        return posicaoAtual;
    }

    /**
     * Método que setará a posição do personagem.
     *
     * @param posicaoAtual passa como parâmetro a posicaoAtual
     */
    public void setPosicaoAtual(double posicaoAtual) {
        this.posicaoAtual = posicaoAtual;
    }

    /**
     * Método que retornará o Cantil 1
     *
     * @return o cantil1
     */
    public Cantil getCantil1() {
        return cantil1;
    }

    /**
     * Método que setará o Cantil 1
     *
     * @param cantil1 passa como parâmetro o cantil1
     */
    public void setCantil1(Cantil cantil1) {
        this.cantil1 = cantil1;
    }

    /**
     * Método que retornará o Cantil 2
     *
     * @return cantil2
     */
    public Cantil getCantil2() {
        return cantil2;
    }

    /**
     * Método que setará o Cantil 2
     *
     * @param cantil2 passa como parâmetro o cantil2
     */
    public void setCantil2(Cantil cantil2) {
        this.cantil2 = cantil2;
    }

    /**
     * Método que retornará a Adaga
     *
     * @return adaga
     */
    public Adaga getAdaga() {
        return adaga;
    }

    /**
     * Método que setará a adaga
     *
     * @param adaga passa como parâmetro a adaga
     */
    public void setAdaga(Adaga adaga) {
        this.adaga = adaga;
    }

    /**
     * Método que retornará a Comida
     *
     * @return comida
     */
    public Comida getComida() {
        return comida;
    }

    /**
     * Método que setará a comida
     *
     * @param cantil1 passa como parâmetro a comida
     */
    public void setComida(Comida comida) {
        this.comida = comida;
    }

    /**
     * Método que retornará o Mapa
     *
     * @return mapa
     */
    public Mapa getMapa() {
        return mapa;
    }

    /**
     * Método que setará o Mapa
     *
     * @param mapa passa como parâmetro o mapa
     */
    public void setMapa(Mapa mapa) {
        this.mapa = mapa;
    }

    /**
     * Método que setará a mensagem
     *
     * @param mensagem passa como parâmetro a mensagem
     */
    public void setMensagem(String mensagem) {
        this.mensagem = mensagem;
    }

    /**
     * Método que retornará a Mensagem a ser entregue.
     *
     * @return mensagem
     */
    public String entregarMensagem() {
        return this.mensagem;
    }

    /**
     * Método que retornará a previsão do tempo.
     *
     * @return tempo {"tpSol", "tpChuva"}
     */
    public String preverTempo() {
        return this.tempo[(int) ((this.tempo.length) * Math.random())];
    }
}
